package com.ruoyi.teacher.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 老师对象 bbl_teacher
 *
 * @author TengZeng
 * @date 2023-05-18
 */
@Data
public class Teacher extends BaseEntity {

    /** 老师id */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 学科 */
    @Excel(name = "学科")
    private String subject;

    /** 部门id/校区 */
    @Excel(name = "部门id/校区")
    private Long deptId;

    /** 电话 */
    @Excel(name = "电话")
    private String tel;

    /** 帮扶优先级 */
    @Excel(name = "帮扶优先级")
    private Integer priority;

    /** 老师类型/绩效类型
     */
    @Excel(name = "老师类型/绩效类型")
    private Integer type;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 用户id/关联账号 */
    @Excel(name = "用户id/关联账号")
    private Long userId;

    /** 上级组长 */
    @Excel(name = "上级组长")
    private Long parentId;

    private Department departments;

    private SysUser users;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    private String email;

    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<Teacher> children = new ArrayList<>();
    //绩效类型id
    private Long performanceTypeId;

    private Long myTaskId;

}
